package com.sure0000.interview;

import org.junit.Test;

/**
 * @author xuyouchang
 * @date 2021/1/18.
 */
public class ThinkingOfInteview {

    /**
     * 请完成一个函数，输入一个二叉树，该函数输出它的镜像。
     */
    @Test
    public void mirrorRecursively() {}


    /**
     * 输入一个矩阵，按照从外向里以顺时针的顺序依次打印出每一个数字。
     */
    @Test
    public void printMatrixClockwisely() {}


    /**
     * 定义栈的数据结构，请在该类型中实现一个能够得到栈的最小元素的min函数。在该栈中，调用min、push及pop的时间复杂度都是O（1）。
     */
    @Test
    public void stackWithMin() {}

    /**
     * 输入两个整数序列，第一个序列表示栈的压入顺序，请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。
     */
    @Test
    public void isPopOrder() {}


    /**
     * 从上往下打印出二叉树的每个结点，同一层的结点按照从左到右的顺序打印。
     */
    @Test
    public void printBinaryTreeFromTopToBottom() {}


    /**
     * 输入一个整数数组，判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则返回 true，否则返回 false。
     */
    @Test
    public void verifySquenceOfBST() {}


    /**
     * 复制一个复杂链表。在复杂链表中，每个结点除了有一个m_pNext指针指向下一个结点外，还有一个m_pSibling 指向链表中的任意结点或者NULL
     */
    @Test
    public void cloneNodes() {}

    /**
     * 输入一棵二叉搜索树，将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点，只能调整树中结点指针的指向。
     */
    @Test
    public void convert() {}


    /**
     * 输入一个字符串，打印出该字符串中字符的所有排列
     */
    @Test
    public void permutation() {}
}
